import 'babel-polyfill'
import Vue from 'vue'
import App from './App'
import router from '@/router/index.js'
import store from './vuex/store'
import filter from './assets/js/filter'

import './assets/js/directives'

// import 'element-ui/lib/theme-chalk/index.css'
import 'assets/css/global.css'
import 'assets/css/base.css'
import 'assets/css/rdms.css'
import './.htaccess'
import moment from "moment"


Vue.prototype.$event = new Vue()

// 图片查看器
// import VuePreview from 'vue-preview'
// Vue.use(VuePreview)

// npm install vue-imageview --save

import preview from 'vue-photo-preview'
import 'vue-photo-preview/dist/skin.css'
Vue.use(preview)

import VueCropper from 'vue-cropper'
Vue.use(VueCropper)

// Using an ES6 transpiler like Babel
// import {ContainerMixin, ElementMixin} from 'vue-slicksort';

import Icon from 'vue-svg-icon/Icon.vue'
Vue.component('icon', Icon);

//import VueDND from 'awe-dnd'
//Vue.use(VueDND)

import VueClipboard from 'vue-clipboard2'
Vue.use(VueClipboard)

import ElTreeGrid from 'element-tree-grid'
// var ElTreeGrid = require('element-tree-grid');
Vue.component(ElTreeGrid.name, ElTreeGrid)

// import Vue2OrgTree from 'vue2-org-tree'
// Vue.use(Vue2OrgTree)

// import Header from "gantt-elastic-header"; // if you want standard header (npm i -s gantt-elastic-header)

// Vue.use(GanttElastic)

import {
  Button,
  Form,
  FormItem,
  Input,
  InputNumber,
  Row,
  Col,
  Breadcrumb,
  BreadcrumbItem,
  MessageBox,
  Pagination,
  Select,
  Option,
  DatePicker,
  Popover,
  Tree,
  Table,
  TableColumn,
  Checkbox,
  CheckboxGroup,
  Upload,
  Badge,
  Radio,
  RadioGroup,
  Tabs,
  TabPane,
  Tag,
  Menu,
  Submenu,
  MenuItem,
  Dialog,
  Tooltip,
  Rate,
  ColorPicker,
  TimeSelect,
  Cascader,
  Transfer,
  Switch,
} from 'element-ui'
import draggable from 'vuedraggable'
Vue.use(Button)
Vue.use(Form)
Vue.use(FormItem)
Vue.use(Input)
Vue.use(InputNumber)
Vue.use(Row)
Vue.use(Col)
Vue.use(Breadcrumb)
Vue.use(BreadcrumbItem)
Vue.use(Pagination)
Vue.use(Select)
Vue.use(Option)
Vue.use(DatePicker)
Vue.use(Popover)
Vue.use(Tree)
Vue.use(Table)
Vue.use(TableColumn)
Vue.use(Checkbox)
Vue.use(CheckboxGroup)
Vue.use(Upload)
Vue.use(Badge)
Vue.use(Radio)
Vue.use(RadioGroup)
Vue.use(Tabs)
Vue.use(TabPane)
Vue.use(Tag)
Vue.use(Menu)
Vue.use(Submenu)
Vue.use(MenuItem)
Vue.use(Dialog)
Vue.use(Tooltip)
Vue.use(Rate)
Vue.use(ColorPicker)
Vue.use(TimeSelect)
Vue.use(Cascader)
Vue.use(Transfer)
Vue.use(Switch)
Vue.use(draggable)
Vue.prototype.$confirm = MessageBox.confirm


new Vue({
  el: '#app',
  template: '<App/>',
  filters: filter,
  router,
  store,
  components: {
    App
  }
}).$mount('#app')
